#ifndef OBJECT_H
#define OBJECT_H


#include <assert.h>
#include "new.h"

struct Object
{
	const struct TypeDescriptor * type;
	unsigned count;
	struct Set * in;
};

static int Object_differ (const void * self, const void * b)
{
	return self != b;
}

static void * Object_ctor (void * _self, va_list * app)
{
	struct Object * self = _self;
	self->count = 0;
	self->in = NULL;
	return self;
}


static void * Object_dtor(void * _self)
{
	struct Set * self = _self;
	return self;
}


static const struct TypeDescriptor _Object =
{
	sizeof(struct Object),
	Object_ctor,
	Object_dtor,
	Object_differ
};



#endif